Systems and Methods for Directing Another Computing System to Aid in Autonomous Navigation

ABSTRACT

Systems and methods for controlling an autonomous vehicle to assist another autonomous vehicle are provided. In one example embodiment, a computer-implemented method includes obtaining data representing a vehicle route of a first autonomous vehicle, wherein the first autonomous vehicle travels along the vehicle route from a first location to a second location. The method includes obtaining data representing an occlusion point that affects an operation of the first autonomous vehicle along the vehicle route. The method includes selecting a second autonomous vehicle, based at least in part on (i) the vehicle route and (ii) the occlusion point, to assist the first autonomous vehicle. The method includes deploying the second autonomous vehicle to assist the first autonomous vehicle to travel along the vehicle route.

FIELD

The present disclosure relates generally to deploying an autonomousvehicle to oversee autonomous navigation maneuvers of another autonomousvehicle.

BACKGROUND

An autonomous vehicle is a vehicle that is capable of sensing itsenvironment and navigating without human input. In particular, anautonomous vehicle can observe its surrounding environment using avariety of sensors and can attempt to comprehend the environment byperforming various processing techniques on data collected by thesensors. Given knowledge of its surrounding environment, the autonomousvehicle can identify an appropriate motion plan through such surroundingenvironment. However, in some situations one or more objects in thesurrounding environment can occlude the sensors of the autonomousvehicle. In other situations, one or more objects in the surroundingenvironment can occlude a motion of the autonomous vehicle.

SUMMARY

Aspects and advantages of the present disclosure will be set forth inpart in the following description, or may be learned from thedescription, or may be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to acomputer-implemented method for controlling an autonomous vehicle toassist another autonomous vehicle. The method includes obtaining, by acomputing system comprising one or more computing devices, datarepresenting a vehicle route of a first autonomous vehicle, wherein thefirst autonomous vehicle travels along the vehicle route from a firstlocation to a second location. The method includes obtaining, by thecomputing system, data representing an occlusion point that affects anoperation of the first autonomous vehicle along the vehicle route. Themethod includes selecting, by the computing system, and based at leastin part on (i) the vehicle route and (ii) the occlusion point, a secondautonomous vehicle to assist the first autonomous vehicle. The methodincludes deploying, by the computing system, the second autonomousvehicle to assist the first autonomous vehicle to travel along thevehicle route.

Another example aspect of the present disclosure is directed to acomputing system for controlling an autonomous vehicle to assist anotherautonomous vehicle. The computing system includes one or more processorsand one or more tangible, non-transitory, computer readable media thatcollectively store instructions that when executed by the one or moreprocessors cause the computing system to perform operations. Theoperations include obtaining data representing a vehicle route of afirst autonomous vehicle, wherein the first autonomous vehicle travelsalong the vehicle route from a first location to a second location. Theoperations include obtaining data representing an occlusion point thataffects an operation of the first autonomous vehicle along the vehicleroute. The operations include selecting, based at least in part on (i)the vehicle route and (ii) the occlusion point, a second autonomousvehicle to assist the first autonomous vehicle. The operations includedeploying the second autonomous vehicle to assist the first autonomousvehicle to travel along the vehicle route.

Yet another example aspect of the present disclosure is directed to anautonomous vehicle. The autonomous vehicle includes one or more vehicleinput devices. The autonomous vehicle includes one or more processorsand one or more tangible, non-transitory, computer readable media thatcollectively store instructions that when executed by the one or moreprocessors cause the autonomous vehicle to perform operations. Theoperations include obtaining data representing a vehicle route of afirst autonomous vehicle, wherein the first autonomous vehicle travelsalong the vehicle route from a first location to a second location. Theoperations include obtaining data representing an occlusion point thataffects an operation of the first autonomous vehicle along the vehicleroute. The operations include selecting, based at least in part on (i)the vehicle route and (ii) the occlusion point, a second autonomousvehicle to assist the first autonomous vehicle. The operations includedeploying the second autonomous vehicle to assist the first autonomousvehicle to travel along the vehicle route.

Other example aspects of the present disclosure are directed to systems,methods, vehicles, apparatuses, tangible, non-transitorycomputer-readable media, and memory devices for controlling anautonomous vehicle.

These and other features, aspects, and advantages of various embodimentswill become better understood with reference to the followingdescription and appended claims. The accompanying drawings, which areincorporated in and constitute a part of this specification, illustrateembodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an example system overview according to exampleembodiments of the present disclosure;

FIG. 2 depicts an example vehicle computing system for controlling anautonomous vehicle according to example embodiments of the presentdisclosure;

FIGS. 3A and 3B depict diagrams illustrating an example of controllingan autonomous vehicle according to example embodiments of the presentdisclosure;

FIG. 4 depicts a diagram illustrating an example of controlling anautonomous vehicle according to example embodiments of the presentdisclosure;

FIGS. 5A and 5B depict diagrams illustrating an example of controllingan autonomous vehicle according to example embodiments of the presentdisclosure;

FIGS. 6A and 6B depict diagrams illustrating an example of controllingan autonomous vehicle according to example embodiments of the presentdisclosure;

FIG. 7 depicts a diagram illustrating an example of controlling anautonomous vehicle according to example embodiments of the presentdisclosure;

FIG. 8 depicts a flow diagram of controlling an autonomous vehicleaccording to example embodiments of the present disclosure; and

FIG. 9 depicts example system components according to exampleembodiments of the present disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments, one or moreexample(s) of which are illustrated in the drawings. Each example isprovided by way of explanation of the embodiments, not limitation of thepresent disclosure. In fact, it will be apparent to those skilled in theart that various modifications and variations can be made to theembodiments without departing from the scope or spirit of the presentdisclosure. For instance, features illustrated or described as part ofone embodiment can be used with another embodiment to yield a stillfurther embodiment. Thus, it is intended that aspects of the presentdisclosure cover such modifications and variations.

Example aspects of the present disclosure are directed to navigating anautonomous vehicle past an object that occludes the autonomous vehicle.An autonomous vehicle can autonomously navigate through a surroundingenvironment by executing a motion plan including one or more maneuver(s)that cause the autonomous vehicle to travel along a vehicle route froman origin to a destination. At one or more location(s) (e.g., occlusionpoint(s)) along the vehicle route, one or more maneuver(s) of theautonomous vehicle can be occluded by one or more object(s) (e.g.,occlusion object(s)) in the surrounding environment. The occlusionobject(s) can include, for example, other vehicles, bicyclists,pedestrians, road hazards (e.g., potholes, puddles, debris, etc.),precipitation (e.g., rain, snow, fog, etc.), and/or terrain features(e.g., hills, blind-corners, etc.). The present disclosure enables anidentification of one or more occlusion point(s) corresponding to anoccluded autonomous vehicle. Each identified occlusion point canindicate a geographic location corresponding to a maneuver of theautonomous vehicle that is occluded by an occluding object (e.g., anoccluded field of view of the sensor(s) of an autonomous vehicle toperform the maneuver). The present disclosure also enables a selectionand deployment of a designated autonomous vehicle to assist in safelynavigating an occluded autonomous vehicle past an occlusion pointcorresponding to the occluded autonomous vehicle.

For example, a maneuver of an occluded autonomous vehicle can includetravelling over a hill. A geographic location of the maneuver can beidentified as an occlusion point because when the autonomous vehicle isclimbing one side of the hill, the hill occludes the other side from oneor more sensor(s) of the autonomous vehicle. A designated autonomousvehicle can be selected and deployed to the occluded side of the hill toassist the occluded autonomous vehicle in safely navigating over thehill.

As another example, a maneuver of an occluded autonomous vehicle caninclude travelling around a blind-corner. A geographic location of themaneuver can be identified as an occlusion point because when theoccluded autonomous vehicle is turning the blind-corner, the other sideis occluded to one or more sensor(s) of the occluded autonomous vehicle.A designated autonomous vehicle can be selected and deployed to theother side of the blind-corner to assist the occluded autonomous vehiclein safely navigating around the blind-corner.

As yet another example, a maneuver of an occluded autonomous vehicle caninclude travelling in a weather condition. A geographic location of themaneuver can be identified as an occlusion point because when theautonomous vehicle is travelling through a surrounding environmentaffected by the weather condition, the weather condition (e.g., rain,sleet, snow, etc.) can reduce a range, resolution, quality, etc.associated with data obtained by one or more sensor(s) of the occludedautonomous vehicle, the data indicative of the surrounding environment.In some implementations, a weather condition can be one or moreproperties of the surrounding environment. For example, the weathercondition can include a temperature, humidity, etc. of the air in thesurrounding environment. The temperature, humidity, etc. can reduce arange, resolution, quality, etc. associated with data obtained by theone or more sensor(s). A designated autonomous vehicle can be selectedand deployed to a vicinity of the surrounding environment affected bythe weather condition, to assist the occluded autonomous vehicle tosafely navigate the weather condition.

As yet another example, a maneuver of an occluded autonomous vehicle caninclude a lane-change or an unprotected-left-turn maneuver. A geographiclocation of the maneuver can be identified as an occlusion point if oneor more object(s) at the geographic location (e.g., other vehicles,bicyclists, pedestrians, road hazards, etc.) occlude the autonomousvehicle from executing the maneuver (e.g., occlude a sensor field ofview associated therewith). A designated autonomous vehicle can beselected and deployed to the geographic location of the maneuver toprovide a leeway for the occluded autonomous vehicle to safely executethe maneuver.

In some implementations, a maneuver of an occluded autonomous vehiclecan be occluded by one or more technical capabilities or designlimitations of a sensor associated with the autonomous vehicle. Forexample, a certain sensor on-board the autonomous vehicle can have amaximum range (e.g., of three-hundred meters), but additional sensorinformation beyond the maximum range can be required to safely executethe maneuver. A designated autonomous vehicle can be selected anddeployed to a geographic location outside the maximum range, and providethe occluded autonomous vehicle with data indicative of a surroundingenvironment at the geographic location outside the maximum range. Thedesignated autonomous vehicle can provide the data to assist theoccluded autonomous vehicle to safely execute the maneuver.

An autonomous vehicle can include a vehicle computing system thatimplements a variety of systems on-board the autonomous vehicle (e.g.,located on or within the autonomous vehicle). For instance, the vehiclecomputing system can include an autonomy computing system (e.g., forplanning and executing autonomous navigation), vehicle control system(e.g., for controlling one or more systems responsible for powertrain,steering, braking, etc.), communications system (e.g., for communicatingwith one or more other computing system(s)), and memory system (e.g.,for storing a motion plan of the autonomous vehicle, map information,traffic/weather information, etc.). Other autonomous vehicles describedherein can be configured in a similar manner.

An autonomy computing system of the autonomous vehicle can include oneor more system(s) for planning and executing autonomous navigation. Forinstance, the autonomy computing system can include, among othersystems, a perception system, a prediction system, and a motion planningsystem that cooperate to navigate the autonomous vehicle through asurrounding environment. The autonomy computing system can determine avehicle route from an origin to a destination, and a motion plan tonavigate along the vehicle route. In some implementations, the autonomycomputing system can obtain a vehicle route from one or more system(s)on-board the autonomous vehicle, or from one or more remote computingsystem(s). The autonomy computing system can obtain sensor dataindicative of the surrounding environment of the autonomous vehicle fromone or more sensor(s) (e.g., a Light Detection and Ranging (LIDAR)system, a Radio Detection and Ranging (RADAR) system, one or morecameras (e.g., visible spectrum cameras, infrared cameras, etc.), motionsensors, and/or other types of image capture devices and/or sensors)on-board the autonomous vehicle, and adjust the motion plan based on thesensor data. The motion plan can include one or more maneuver(s) thatcause the autonomous vehicle to travel along the vehicle route when themaneuver(s) are executed. The autonomy computing system can execute themaneuver(s) in the motion plan by determining one or more vehiclecontrol signal(s) corresponding to each maneuver, and providing thevehicle control signal(s) to a vehicle control system of the autonomousvehicle.

A vehicle control system of the autonomous vehicle can include one ormore system(s) for controlling the autonomous vehicle. For instance, thevehicle control system can include a powertrain control system, steeringcontrol system, braking control system, etc. The vehicle control systemcan receive one or more vehicle control signal(s) from one or moresystem(s) on-board the autonomous vehicle. The vehicle control systemcan instruct the powertrain control system, steering control system,braking control system, etc. to control the autonomous vehicle accordingto the vehicle control signal(s), for example, in the manner describedherein to implement autonomous navigation.

A communications system of the autonomous vehicle can include one ormore system(s) for communicating with one or more remote computingsystem(s) that are remote from the autonomous vehicle. For instance, thecommunications system can include transmitters, receivers, ports,controllers, antennas, or other suitable components that can helpfacilitate communication with the remote computing system(s). The remotecomputing system(s) can include, for example, an operations computingsystem (e.g., for remotely managing the autonomous vehicle), mapinformation system (e.g., for obtaining map information of theenvironment), traffic/weather information system (e.g., for obtainingtraffic/weather information of the environment), vehicle computingsystem(s) associated with other autonomous vehicle(s), and/or othersystems.

A memory system of the autonomous vehicle can include one or more memorydevices located at the same or different locations (e.g., on-board thevehicle, distributed throughout the vehicle, off-board the vehicle,etc.). The memory system can store and/or retrieve data. For example, anautonomous vehicle can store data indicative of a planned vehicle route,motion plan, occlusion point(s), etc. in the memory system. As anotherexample, an autonomous vehicle can retrieve data indicative of a map,traffic/weather, and/or predetermined occlusion point(s) stored in thememory system.

A computing system can identify one or more occlusion points(s)corresponding to an occluded autonomous vehicle, and deploy a designatedautonomous vehicle to assist the occluded autonomous vehicle to safelynavigate past the occlusion point(s). The computing system can be avehicle computing system associated with the occluded autonomous vehicleor a remote computing system that is remote from the occluded autonomousvehicle (e.g., operations computing system, vehicle computing system ofanother autonomous vehicle, etc.).

A computing system can identify one or more occlusion point(s)corresponding to an occluded autonomous vehicle based at least in parton data indicative of a surrounding environment along a vehicle route ofthe occluded autonomous vehicle. The data indicative of the surroundingenvironment can include sensor data acquired by the computing system,sensor data acquired by another computing system, map data, trafficdata, weather data, predetermined occlusion point data, etc. (e.g.,occlusion data). By way of example, a computing system can obtain sensordata indicative of a surrounding environment of the occluded autonomousvehicle from one or more sensor(s) on-board the occluded autonomousvehicle or one or more sensor(s) on-board another autonomous vehicle.The computing system can analyze the sensor data to identify one or moreobject(s) in the surrounding environment that occlude a maneuver of theoccluded autonomous vehicle.

A computing system can obtain map data, traffic data, and weather dataindicative of a surrounding environment of the occluded autonomousvehicle from one or more remote computing system(s). For example, thecomputing system can communicate with a map information system to obtainmap data, and communicate with a traffic/weather information system toobtain traffic/weather data.

The map data can include a geographic layout of one or more types ofinfrastructure (e.g., roads, bridges, tunnels, parking, airports, etc.),a geographic location of one or more natural or artificial features(e.g., lakes, rivers, hills, mountains, buildings, etc.), and/orgeographic characteristics (e.g., elevation, etc.). The computing systemcan analyze the map data to identify one or more geographic location(s)corresponding to one or more occluded maneuver(s) of an occludedautonomous vehicle.

The traffic/weather data can include traffic pattern(s), condition(s),alert(s), etc. (e.g., traffic information), and weather forecast(s),condition(s), alert(s), etc. (e.g., weather information). Thetraffic/weather data can include an identifier and a correspondinggeographic location for each pattern, forecast, condition, alert, etc.For example, the traffic/weather data can indicate that that a largedelivery truck blocks traffic on Gingerbread Ln. every Monday from 11:00a.m. to 12:00 p.m. As another example, the traffic/weather data canindicate that a disabled vehicle at 41°24′12.2″N and 2°10′26.5″E isblocking a traffic lane. As yet another example, the traffic/weatherdata can indicate that a thunderstorm will reduce visibility over a tenmile stretch on interstate highway I-85 beginning at mile markerfifteen. As yet another example, the traffic/weather data can indicatean amount of traffic associated with a particular location, in hourlyincrements. As yet another example, the traffic/weather data canindicate that a particular location is associated with a high number ofaccidents. The computing system can analyze the traffic/weather data toidentify one or more geographic location(s) corresponding to one or moreoccluded maneuver(s) of an occluded autonomous vehicle.

A computing system can store each identified occlusion point in a memorysystem associated with the computing system as a predetermined occlusionpoint, and obtain data indicative of one or more predetermined occlusionpoint(s) that were identified by another computing system. The computingsystem can communicate with the one or more other computing system(s) toobtain data indicative of one or more occlusion point(s) identified bythe other computing system(s). For example, a remote computing system(e.g., operations computing system, vehicle computing system of anotherautonomous vehicle) can obtain and analyze map or traffic/weather datato identify an occlusion point, and store the identified occlusion pointin a memory system as a predetermined occlusion point. The computingsystem can communicate with the remote computing system and obtain dataindicative of the predetermined occlusion point. The computing systemcan analyze the one or more occlusion point(s) indicated by thepredetermined occlusion point data to verify that the occlusion point(s)correspond to the occluded autonomous vehicle.

A computing system can determine that a maneuver of an autonomousvehicle is occluded, for example, if the autonomous vehicle cannotsafely execute the maneuver. A maneuver of the autonomous vehicle caninclude, for example, travelling along a road, over a hill, around aturn, changing a lane, etc. The maneuver can be occluded when an objectprevents the autonomous vehicle from safely executing the maneuver. Forexample, an object at a location corresponding to a maneuver can occludeone or more sensor(s) on-board an autonomous vehicle such that theautonomous vehicle is unable to fully perceive the surroundingenvironment at the location, and therefore unable to safely execute themaneuver. As another example, an occluding object can occlude a motionof an autonomous vehicle such that the autonomous vehicle may be unableto execute a maneuver without a high probability of colliding with theoccluding object or another object.

A computing system can determine that an object occludes a sensor of anautonomous vehicle if the sensor is unable to perceive one or moreregion(s) in a surrounding environment of the autonomous vehicle becauseof the object (e.g., occluded region(s)). For example, a computingsystem can determine that a hill, blind-corner, and/or precipitationoccludes a sensor of an autonomous vehicle because the hill,blind-corner, and/or precipitation occludes one or more region(s) in thesurrounding environment from the sensor of the autonomous vehicle. Inparticular, when the autonomous vehicle is climbing one side of thehill, the hill can occlude the opposite side from one or more sensor(s)of the autonomous vehicle; when the autonomous vehicle is turning theblind-corner, the blind-corner can occlude the other side from one ormore sensor(s) of the autonomous vehicle; and when the autonomousvehicle is travelling in precipitation, the precipitation can occludeother object(s) in the surrounding environment from one or moresensor(s) of the autonomous vehicle. As a result, the autonomous vehiclemay be unable to safely execute one or more maneuver(s) to navigate overthe hill, around the blind-corner, or through the precipitation.

A computing system can determine that a motion of an autonomous vehicleis occluded if the autonomous vehicle is unable to safely execute amaneuver. An autonomous vehicle is unable to safely execute a maneuverif the maneuver is associated with a high probability of collision withone or more object(s) in a surrounding environment of the autonomousvehicle. For example, a computing system can determine that alane-change maneuver of an autonomous vehicle is occluded by a car in atarget lane of the lane-change maneuver because the autonomous vehiclecannot execute the lane-change maneuver because the maneuver isassociated with a high probability of a collision with the car, oranother object, in the surrounding environment of the autonomousvehicle. As another example, a computing system can determine that anunprotected-left-turn maneuver of an autonomous vehicle is occluded by ahigh volume of traffic in an opposing lane because the autonomousvehicle cannot make a left turn across the opposing lane without a highprobability of hitting a vehicle in the opposing lane as.

A computing system can select a designated autonomous vehicle to assistthe occluded autonomous vehicle. The designated autonomous vehicle canbe from among a plurality of autonomous vehicles. In someimplementations, the designated autonomous vehicle can be within apredetermined distance/time of an occlusion point corresponding to anoccluded autonomous vehicle. The computing system can select thedesignated autonomous vehicle by prioritizing one or more vehiclecharacteristic(s) of the plurality of autonomous vehicles. For example,a computing system can prioritize selecting an unoccupied autonomousvehicle (e.g., a vehicle that is unoccupied with passengers riding thevehicle for a transportation service, unoccupied with items for adelivery/courier service, not assigned to a service request, etc.) fromthe plurality of autonomous vehicles. As another example, a computingsystem can prioritize selecting an unmanned aerial vehicle (e.g., drone)from the plurality of autonomous vehicles. As yet another example, acomputing system can prioritize selecting a designated autonomousvehicle that has a shortest time-to-deploy (e.g., a duration of timeuntil the designated autonomous vehicle reaches a location correspondingto the occlusion point to assist the occluded autonomous vehicle). Thetime-to-deploy can be proportional to a distance of the designatedautonomous vehicle from the occlusion point, and/or can be based onfactors other than the distance of the designated autonomous vehiclefrom the occlusion point (e.g., due to road, traffic, weather, etc.).

A computing system can deploy a designated autonomous vehicle to assistan occluded autonomous vehicle at a current or future time, based atleast in part on one or more vehicle characteristic(s) associated withthe occluded autonomous vehicle and the designated autonomous vehiclewith respect to an occlusion point. The vehicle characteristic(s) of theoccluded autonomous vehicle can include, for example, atime-to-occlusion, and occlusion-duration. The vehicle characteristic(s)of the designated autonomous vehicle can include, for example, thetime-to-deploy.

The time-to-occlusion can indicate a duration of time until the occludedautonomous vehicle reaches a location corresponding to the occlusionpoint and the corresponding maneuver of the occluded autonomous vehicleis occluded. If the time-to-occlusion is “0,” then the correspondingmaneuver of the occluded autonomous vehicle is currently occluded. Forexample, an occlusion point that is located towards the end of a vehicleroute of the occluded autonomous vehicle will have a greatertime-to-occlusion than an occlusion point that is located towards thebeginning of the vehicle route.

The occlusion-duration can indicate a duration of time that theocclusion point exists, if the occlusion point is time-dependent. Forexample, if an occlusion point is identified because of traffic orweather conditions, then the occlusion point can exist for a duration ofthe traffic or weather condition. In this case, the occlusion-time canbe set as a duration of time from the start of the time-to-occlusionuntil the occlusion point expires. As another example, an occlusionpoint that is identified because of a hill or blind-corner continues toexist unless the vehicle route of the occluded autonomous vehicle ismodified. In this case, the occlusion-time can be set to “0” to indicatean indefinite or unable to be determined duration of time.

If the time-to-occlusion is greater than the time-to-deploy, then thedesignated autonomous vehicle can be deployed at a current time or whilethe time-to-occlusion is greater than or equal to the time-to-deploy.For example, if the time-to-occlusion is 10 minutes and thetime-to-deploy is 5 minutes, then the designated autonomous vehicle canbe deployed so that the designated autonomous vehicle arrives at avicinity of the occlusion point at or before the occluded autonomousvehicle arrives at a vicinity of the occlusion point.

If the time-to-occlusion is less than the time-to-deploy, then thedesignated autonomous vehicle can be deployed immediately to reduce aduration of time that the occluded autonomous vehicle is occluded at theocclusion point. For example, if the time-to-occlusion is 10 minutes andthe time-to-deploy is 15 minutes, then the designated autonomous vehiclecan be deployed immediately so that the occluded autonomous vehicle willbe occluded for not longer than 5 minutes.

In some implementations, if the occlusion-time is greater than “0”(e.g., the occlusion-time is not indefinite or undeterminable), and theocclusion-time is less than or equal to the time-to-deploy, then thedesignated autonomous vehicle may not be deployed. For example, if theocclusion-time is 7 minutes, then in 7 minutes the occlusion point willexpire. In this case, if the time-to-deploy is equal to or greater than7 minutes, then the occlusion point will expire at or before thedesignated autonomous vehicle arrives at a vicinity of the occlusionpoint.

A computing system can deploy a designated autonomous vehicle inresponse to an identification of an occlusion point corresponding to anoccluded autonomous vehicle, and/or in response to a request forassistance. For example, a computing system that identifies an occlusionpoint corresponding to an occluded autonomous vehicle can select anddeploy a designated autonomous vehicle to assist the occluded autonomousvehicle with respect to the occlusion point. As another example, acomputing system (e.g., an operations computing system, computing systemof another vehicle) can receive data indicative of a request forassistance, and in response the computing system can select and deploy adesignated autonomous vehicle. The request for assistance can include anidentification of the occluded autonomous vehicle (e.g., a uniqueidentifier associated with the vehicle) and an occlusion point (e.g., alocation specified by a latitude-longitude coordinate). The request forassistance can be provided by the occluded autonomous vehicle (e.g.,vehicle computing system associated with the occluded autonomousvehicle) or a remote computing system that is remote from the occludedautonomous vehicle (e.g., operations computing system, vehicle computingsystem associated with another autonomous vehicle). The computing systemcan communicate directly with the occluded autonomous vehicle to obtaindata indicative of the request for assistance. Additionally, oralternatively, the occluded autonomous vehicle can provide dataindicative of the request for assistance to a remote computing system,and the computing system can communicate with the remote computingsystem to obtain data indicative of the request for assistance.

A computing system can deploy a designated autonomous vehicle to avicinity of an occlusion point, and instruct the designated autonomousvehicle to obtain data indicative of a surrounding environment at theocclusion point. In particular, the computing system can instruct thedesignated autonomous vehicle to obtain data corresponding to a regionof the surrounding environment that is occluded to one or more sensor(s)of the occluded autonomous vehicle (e.g., occluded region(s)). Thecomputing system can obtain data corresponding to the occluded region(s)from the designated autonomous vehicle and provide the data to theoccluded autonomous vehicle. Additionally, or alternatively, thecomputing system can analyze the data corresponding to the occludedregion(s) to determine if the occluded autonomous vehicle can safelyexecute an occluded maneuver. Additionally, or alternatively, thecomputing system can provide a “safe” or “unsafe” indication to theoccluded autonomous vehicle to notify when the occluded autonomousvehicle can safely execute an occluded maneuver. In this way, theoccluded autonomous vehicle can fully perceive the surroundingenvironment at the occlusion point and safely execute a maneuver tonavigate past the occlusion point.

A computing system can instruct a designated autonomous vehicle totravel to a vicinity of an occlusion point via a route that is differentthan a route of an occluded autonomous vehicle. For example, if a routeof an occluded autonomous vehicle indicates that the occluded autonomousvehicle will approach an occlusion point from the south, then acomputing system can deploy a designated autonomous vehicle to approachthe occlusion point from the north. As another example, if a route of anoccluded autonomous vehicle indicates that the occluded autonomousvehicle will approach an occlusion point via a ground-based route, thena computing system can deploy a designated autonomous vehicle toapproach the occlusion point by air or sea. As yet another example, if avehicle route of an occluded autonomous vehicle indicates that theoccluded autonomous vehicle will travel through a geographic area thatis experiencing a weather condition, then a computing system can deploya designated autonomous vehicle to patrol the geographic area. Thedesignated autonomous vehicle can obtain sensor data corresponding toone or more object(s) in the geographic area that are occluded to theoccluded autonomous vehicle by the weather condition, and provide dataindicative of the one or more object(s) to the occluded autonomousvehicle.

A computing system can deploy a designated autonomous vehicle to avicinity of an occlusion point, and instruct the designated autonomousvehicle to provide a leeway for an occluded autonomous vehicle toexecute an occluded maneuver. For example, if a lane-change maneuver ofan autonomous vehicle is occluded, then a designated autonomous vehiclecan approach a geographic location of the lane-change maneuver frombehind the occluded autonomous vehicle. The designated autonomousvehicle can occupy a target lane of the lane-change maneuver and slowdown as it approaches the occluded autonomous vehicle, thereby creatingan opening in the target lane for the occluded autonomous vehicle. Thedesignated autonomous vehicle can provide an indication to the occludedautonomous vehicle when it is safe for the occluded autonomous vehicleto execute the lane-change maneuver. As another example, if anunprotected-left-turn maneuver of an autonomous vehicle is occluded,then a designated autonomous vehicle can approach a geographic locationof the unprotected-left-turn maneuver in the opposing lane of theoccluded autonomous vehicle and slow down as it approaches the occludedautonomous vehicle, thereby creating an opening in the opposing lane forthe occluded autonomous vehicle. The designated autonomous vehicle canprovide an indication to the occluded autonomous vehicle when it is safefor the occluded autonomous vehicle to execute the unprotected-left-turnmaneuver across the opposing lane. In some implementations, thedesignated autonomous vehicle can approach the occlusion point (e.g., ahill block area) from another direction than the occluded vehicle andprovide a communication to the occluded autonomous vehicle that theoccluded vehicle can proceed safely (e.g., despite its lack of view of aparticular region over the hill).

The occluded autonomous vehicle can obtain data corresponding to one ormore occluded region(s) and/or an indication of when it is safe toexecute an occluded maneuver, and adjust its motion plan accordingly.For example, data obtained by a designated autonomous vehicle canindicate that the occluded region(s) do not contain any object(s) thatcan adversely affect the occluded autonomous vehicle (e.g., othervehicle(s), pedestrian(s), road hazard(s), etc.). In this case, theoccluded autonomous vehicle can safely execute an occluded maneuver andnavigate past the occlusion point. As another example, data obtained bya designated autonomous vehicle can indicate that an occluded regioncontains an object that can adversely affect the autonomous vehicle. Inthis case, the designated autonomous vehicle can obtain and provide dataindicating an identity of the object and a geographic location of theobject. As another example, if an occluded region includes a movingvehicle, data provided to an occluded autonomous vehicle can include atrajectory of the moving vehicle. As another example, if an occludedregion includes a construction crew performing repair work, the data caninclude a duration or end time of the repair work. The occludedautonomous vehicle can determine one or more avoidance maneuver(s) toavoid an object in an occluded region, and execute the avoidancemaneuver(s) to safely navigate past the occlusion point. For example, ifan occluded region contains a duck and her ducklings crossing a street,an occluded autonomous vehicle can execute a waiting maneuver to waitfor the duck and her ducklings to finish crossing. Alternatively, adesignated autonomous vehicle can indicate when the duck and herduckling finish crossing and it is safe for the occluded autonomousvehicle to perform an occluded maneuver. As another example, if anoccluded region includes a road closure, then an occluded autonomousvehicle can determine and execute one or more maneuver(s) to follow adetour route to safely navigate past the occlusion point. In this way,an occluded autonomous vehicle can plan its motion to safely navigatepast the occlusion point based at least in part on data obtained by adesignated autonomous vehicle.

A computing system can deploy a designated autonomous vehicle topreclude an occlusion point corresponding to an occluded autonomousvehicle. For example, if an occlusion point indicates that a parkedtruck at an intersection occludes one or more sensor(s) of an autonomousvehicle, then a computing system can deploy a designated autonomousvehicle to monitor the geographic location (e.g., parking space) of thetruck. When the location is empty, the designated autonomous vehicle canexecute a parking maneuver to occupy the space. The designatedautonomous vehicle can obtain data indicative of a surroundingenvironment at the location so that the occluded autonomous vehicle cansafely execute an occluded maneuver and navigate past the occlusionpoint.

The systems and methods described herein provide a number of technicaleffects and benefits. Systems and methods for implementing autonomousnavigation by deploying a designated autonomous vehicle to overseemaneuver(s) of an autonomous vehicle can have a technical effect ofimproving efficiency in resource management. By enabling the autonomousvehicle, or another computing system, to deploy a designated autonomousvehicle to an occlusion point, and prioritizing an unoccupied autonomousvehicle (e.g., not providing a vehicle service) when selecting thedesignated autonomous vehicle, the unoccupied autonomous vehicle canassist the autonomous vehicle to reach its destination, rather than theunoccupied autonomous vehicle idling. This can allow the autonomousvehicle to reach its destination sooner instead of waiting for anocclusion point to go away or taking a detour around the occlusionpoint.

Additionally, by enabling an autonomous vehicle to share one or moreidentified occlusion points with one or more other autonomousvehicle(s), each autonomous vehicle can benefit from the sensor data ofthe other autonomous vehicle(s). This allows the autonomous vehicles toobtain a more holistic snapshot of the geographic area surrounding eachautonomous vehicle, thereby enabling the autonomous vehicles to makemore informed and efficient navigation decisions.

The systems and methods of the present disclosure also provide animprovement to vehicle computing technology, such as autonomous vehiclecomputing technology. For instance, the systems and methods hereinenable the vehicle technology to automatically request assistance forexecuting an autonomous navigation maneuver. For example, the systemsand methods can allow one or more computing system(s) on-board anautonomous vehicle (and/or off-board a vehicle) to predict/identifyoccluded region(s) in a surrounding environment of the autonomousvehicle. As described herein, an autonomous vehicle can be configured toprovide data indicative of the occluded region(s) to one or more otherautonomous vehicle(s), and to request assistance with respect to theocclude region(s). Ultimately, the autonomous vehicle can plan itsmotion according to data received by another autonomous vehicle withrespect to an occluded region. This allows the autonomous vehicle tomore effectively and safely perform autonomous navigation.

EXAMPLE EMBODIMENTS

With reference now to the FIGS., example embodiments of the presentdisclosure will be discussed in further detail. FIG. 1 depicts anexample system 100 according to example embodiments of the presentdisclosure. The system 100 can include a vehicle computing system 102associated with a vehicle 103. The system 100 can also include one ormore additional vehicle(s) 105, each including a respective vehiclecomputing system (not shown).

In some implementations, the system 100 can include one or more remotecomputing system(s) 104 that are remote from the vehicle 103 and theadditional vehicle(s) 105. The remote computing system(s) 104 caninclude an operations computing system 120, traffic/weather informationsystem 122, and map information system 124. The remote computingsystem(s) 104 can be separate from one another or share computingdevice(s). The operations computing system 120 can remotely manage thevehicle 103 and/or additional vehicle(s) 105. The traffic/weatherinformation system 122 and map information system 124 can be informationservers that can provide detailed information about the surroundingenvironment of the vehicle 103. For example, the traffic/weatherinformation system 122 can include and provide information regarding:traffic data (e.g., the location and instructions of signage, trafficlights, other traffic control devices, traffic patterns, trafficalerts); and weather data (e.g., the location and duration of inclementweather, general weather conditions). The map information system 124 caninclude map data that provides information regarding: the identity andlocation of different roadways, road segments, buildings, or other itemsor objects (e.g., lampposts, crosswalks, curbing, etc.); the locationand directions of traffic lanes (e.g., the location and direction of aparking lane, a turning lane, a bicycle lane, or other lanes within aparticular roadway or other travel way and/or one or more boundarymarkings associated therewith); and/or any other data that providesinformation that assists the vehicle 103 in comprehending and perceivingits surrounding environment and its relationship thereto.

The vehicle 103 incorporating the vehicle computing system 102 can be aground-based autonomous vehicle (e.g., car, truck, bus), an air-basedautonomous vehicle (e.g., airplane, drone, helicopter, or otheraircraft), or other types of vehicles (e.g., watercraft). The vehicle103 can be an autonomous vehicle that can drive, navigate, operate, etc.with minimal and/or no interaction from a human driver. For instance,the vehicle 103 can be configured to operate in a plurality of operatingmodes. The vehicle 103 can be configured to operate in a fullyautonomous (e.g., self-driving) operating mode in which the vehicle 103can drive and navigate with no input from a user present in the vehicle103. The vehicle 103 can be configured to operate in a semi-autonomousoperating mode in which the vehicle 103 can operate with some input froma user present in the vehicle 103. In some implementations, the vehicle103 can enter into a manual operating mode in which the vehicle 103 isfully controllable by a user (e.g., human operator) and can beprohibited from performing autonomous navigation (e.g., autonomousdriving).

The vehicle computing system 102 can include one or more computingdevice(s) located on-board the vehicle 103 (e.g., located on and/orwithin the vehicle 103). The computing device(s) can include variouscomponents for performing various operations and functions. Forinstance, the computing device(s) can include one or more processor(s)and one or more tangible, non-transitory, computer readable media. Theone or more tangible, non-transitory, computer readable media can storeinstructions that when executed by the one or more processor(s) causethe vehicle 103 (e.g., its computing system, one or more processors,etc.) to perform operations and functions, such as those describedherein.

As shown in FIG. 1, the vehicle 103 can include one or more sensors 108,an autonomy computing system 110, vehicle control system 112,communications system 114, and memory system 116. One or more of thesesystems can be configured to communicate with one another via acommunication channel. The communication channel can include one or moredata buses (e.g., controller area network (CAN)), on-board diagnosticsconnector (e.g., OBD-II), and/or a combination of wired and/or wirelesscommunication links. The on-board systems can send and/or receive data,messages, signals, etc. amongst one another via the communicationchannel.

The sensor(s) 108 can be configured to acquire sensor data 109associated with one or more objects that are proximate to the vehicle103 (e.g., within a field of view of one or more of the sensor(s) 108).The sensor(s) 108 can include a Light Detection and Ranging (LIDAR)system, a Radio Detection and Ranging (RADAR) system, one or morecameras (e.g., visible spectrum cameras, infrared cameras, etc.), motionsensors, and/or other types of imaging capture devices and/or sensors.The sensor data 109 can include image data, radar data, LIDAR data,and/or other data acquired by the sensor(s) 108. The object(s) caninclude, for example, pedestrians, vehicles, bicycles, and/or otherobjects. The object(s) can be located in front of, to the rear of,and/or to the side of the vehicle 103. The sensor data 109 can beindicative of locations associated with the object(s) within thesurrounding environment of the vehicle 103 at one or more times. Thesensor(s) 108 can provide the sensor data 109 to the autonomy computingsystem 110.

As shown in FIG. 2, the autonomy computing system 110 can include aperception system 202, a prediction system 204, a motion planning system206, and/or other systems that cooperate to perceive the surroundingenvironment of the vehicle 103 and determine a motion plan forcontrolling the motion of the vehicle 103 accordingly. For example, theautonomy computing system 110 can receive the sensor data 109 from thesensor(s) 108, attempt to comprehend the surrounding environment byperforming various processing techniques on the sensor data 109 (and/orother data), and generate an appropriate motion plan through suchsurrounding environment. As another example, the autonomy computingsystem 110 can obtain traffic/weather data and map data from thetraffic/weather information system 122 and map information system 124,respectively, to assist in comprehending and perceiving its surroundingenvironment and its relationship thereto. The autonomy computing system110 can control the one or more vehicle control systems 112 to operatethe vehicle 103 according to the motion plan.

The autonomy computing system 110 can identify one or more objects thatare proximate to the vehicle 103 based at least in part on the sensordata 109 and/or the map data 261. For example, the perception system 202can obtain perception data 260 descriptive of a current state of anobject that is proximate to the vehicle 103. The perception data 260 foreach object can describe, for example, an estimate of the object's:current location (also referred to as position); current speed (alsoreferred to as velocity); current acceleration; current heading; currentorientation; size/footprint (e.g., as represented by a boundingpolygon); class (e.g., pedestrian class vs. vehicle class vs. bicycleclass), and/or other state information. In some implementations, theperception system 202 can determine perception data 260 for each objectover a number of iterations. In particular, the perception system 202can update the perception data 260 for each object at each iteration.Thus, the perception system 202 can detect and track objects (e.g.,vehicles, pedestrians, bicycles, and the like) that are proximate to theautonomous vehicle 103 over time. The perception system 202 can providethe perception data 260 to the prediction system 204 (e.g., forpredicting the movement of an object).

The prediction system 204 can create predicted data 264 associated witheach of the respective one or more objects proximate to the vehicle 103.The predicted data 264 can be indicative of one or more predicted futurelocations of each respective object. The predicted data 264 can beindicative of a predicted path (e.g., predicted trajectory) of at leastone object within the surrounding environment of the vehicle 103. Forexample, the predicted path (e.g., trajectory) can indicate a path alongwhich the respective object is predicted to travel over time (and/or thespeed at which the object is predicted to travel along the predictedpath). The prediction system 204 can provide the predicted data 264associated with the object(s) to the motion planning system 206.

The motion planning system 206 can determine a motion plan for thevehicle 103 based at least in part on the predicted data 264 (and/orother data), and save the motion plan as motion plan data 265. Themotion plan data 265 can include vehicle actions with respect to theobjects proximate to the vehicle 103 as well as the predicted movements.For instance, the motion planning system 206 can implement anoptimization algorithm that considers cost data associated with avehicle action as well as other objective functions (e.g., based onspeed limits, traffic lights, etc.), if any, to determine optimizedvariables that make up the motion plan data 265. By way of example, themotion planning system 206 can determine that the vehicle 103 canperform a certain action (e.g., pass an object) without increasing thepotential risk to the vehicle 103 and/or violating any traffic laws(e.g., speed limits, lane boundaries, signage). The motion plan data 265can include a planned trajectory, speed, acceleration, etc. of thevehicle 103.

The motion planning system 206 can provide at least a portion of themotion plan data 265 that indicates one or more vehicle actions, aplanned trajectory, and/or other operating parameters to the vehiclecontrol system(s) 112 to implement the motion plan for the vehicle 103.For instance, the vehicle 103 can include a mobility controllerconfigured to translate the motion plan data 265 into instructions. Byway of example, the mobility controller can translate the motion plandata 265 into instructions to adjust the steering of the vehicle 103 “X”degrees, apply a certain magnitude of braking force, etc. The mobilitycontroller can send one or more control signals to the responsiblevehicle control sub-system (e.g., powertrain control system 220,steering control system 222, braking control system 224) to execute theinstructions and implement the motion plan.

The communications system 114 can allow the vehicle computing system 102(and its computing system(s)) to communicate with other computingsystems (e.g., remote computing system(s) 104, additional vehicles 105).The vehicle computing system 102 can use the communications system 114to communicate with the operations computing system 104 and/or one ormore other remote computing system(s) over one or more networks (e.g.,via one or more wireless signal connections). In some implementations,the communications system 114 can allow communication among one or moreof the system(s) on-board the vehicle 103. The communications system 114can include any suitable sub-systems for interfacing with one or morenetwork(s), including, for example, transmitters, receivers, ports,controllers, antennas, and/or other suitable sub-systems that can helpfacilitate communication.

The memory system 116 of the vehicle 103 can include one or more memorydevices located at the same or different locations (e.g., on-board thevehicle 103, distributed throughout the vehicle 103, off-board thevehicle 103, etc.). The vehicle 103 can use the memory system 116 tostore and retrieve data/information. For instance, the memory system 116can store perception data 260, map data 261, weather data 262, occlusionpoint(s) 263, prediction data 264, motion plan data 265, traffic data266, and other autonomous vehicle data 267.

The other autonomous vehicle data (other AV data) 267 can includeinformation corresponding to one or more characteristics of one or moreadditional vehicles 105. For example, the other AV data 267 can indicateone or more of a vehicle route, motion plan, occupancy, geographiclocation, or vehicle type corresponding to one or more of the additionalvehicles 105. A designated autonomous vehicle can be selected among theadditional vehicles 105 based at least in part on the data obtained andstored in other AV data 267.

FIGS. 3A and 3B depict diagrams 301 and 302 that illustrates an exampleof deploying a designated autonomous vehicle to assist an occludedautonomous vehicle safely navigate past an occlusion point. As shown inFIGS. 3A and 3B, a motion plan of vehicle 103 (e.g., occluded autonomousvehicle) can include a maneuver instructing the vehicle 103 to travelover hill 307 with apex 308. A computing system (e.g., vehicle computingsystem 102, remote computing system(s) 104, computing systems ofadditional vehicle(s) 105) can determine that hill 307 is an occlusionpoint because when the vehicle 103 is climbing the hill 307 from southof the apex 308, the hill 307 can occlude the region 309 north of theapex 308 from the sensor(s) 108 on-board the vehicle 103. The computingsystem can select and deploy additional vehicle 105 (e.g., designatedautonomous vehicle) to observe the occluded region 309 to assist vehicle103 to safely navigate past the hill 307. The additional vehicle 105 canbe deployed such that the additional vehicle 105 can obtain dataindicative of the occluded region 309 (e.g., via one or more sensor(s)on-board additional vehicle 105). The additional vehicle 105 can providethe data indicative of occluded region 309 to the vehicle 103 (e.g.,directly, indirectly via another system, etc.). The vehicle 103 canobtain the data indicative of the occluded region 309 from theadditional vehicle 105, and determine that the occluded region 309includes object(s) 311. The vehicle 103 can adjust its motion plan toavoid a collision with the object(s) 311, and safely navigate past thehill 307. For example, the vehicle 103 can slow down as the vehicle 103approaches the apex 308, and/or execute a lane-change maneuver beforeapproaching the apex 308.

FIG. 4 depicts a diagram 400 that illustrates an example of deploying adesignated autonomous vehicle to assist an occluded autonomous vehicleto safely navigate past an occlusion point. As shown in FIG. 4, a motionplan of vehicle 103 (e.g., occluded autonomous vehicle) can include amaneuver instructing the autonomous vehicle to travel aroundblind-corner 407. A computing system (e.g., of the vehicle 103, of theremote computing system(s) 104, of the additional vehicle(s) 105) candetermine that the blind-corner 407 is an occlusion point because whenthe vehicle 103 is turning the blind-corner 407, the region 409 isoccluded to the sensor(s) 108 on-board the vehicle 103. The computingsystem can select and deploy additional vehicle 105 (e.g., designatedautonomous vehicle) to observe the occluded region 409 to assist vehicle103 to safely navigate past the blind-corner 407. The additional vehicle105 can be deployed such that the additional vehicle 105 can obtain dataindicative of the occluded region 409 (e.g., via one or more sensor(s)on-board additional vehicle 105). The additional vehicle 105 can providethe data indicative of occluded region 409 to the vehicle 103. Thevehicle 103 can obtain the data indicative of the occluded region 409from the additional vehicle 105, and determine that the occluded region409 includes object(s) 411. The vehicle 103 can adjust its motion planto avoid a collision with object(s) 411, and safely navigate past theblind-corner 407. For example, the vehicle 103 can slow down and/ornudge as the vehicle 103 turns the blind-corner 407.

FIGS. 5A and 5B depict diagrams 501 and 502 that illustrate an exampleof deploying a designated autonomous vehicle to assist an occludedautonomous vehicle to safely navigate past an occlusion point. As shownin FIG. 5A, a motion plan of vehicle 103 (e.g., occluded autonomousvehicle) can include a maneuver instructing the autonomous vehicle toexecute a lane-change. A computing system (e.g., of the vehicle 103, ofthe remote computing system(s) 104, of the additional vehicle(s) 105)can determine that the lane-change maneuver is occluded by one or moreobject(s) 511. As shown in FIG. 5B, the computing system can select anddeploy additional vehicle 105 (e.g., designated autonomous vehicle) toprovide a leeway for the vehicle 103 to safely execute the lane-changemaneuver. For example, the additional vehicle 105 can occupy the targetlane of the lane-change maneuver and slow down as it approaches thelocation of the lane-change maneuver, thereby creating an opening in thetarget lane for the vehicle 103 to execute the lane-change maneuver.

FIGS. 6A and 6B depict diagrams 601 and 602 that illustrate an exampleof deploying a designated autonomous vehicle to assist an occludedautonomous vehicle to safely navigate past an occlusion point. As shownin FIG. 6A, a motion plan of vehicle 103 (e.g., occluded autonomousvehicle) can include a maneuver instructing the autonomous vehicle toexecute an unprotected-left-turn. A computing system (e.g., of thevehicle 103, of the remote computing system(s) 104, of the additionalvehicle(s) 105) can determine that the unprotected-left-turn maneuver isoccluded by one or more object(s) 611. As shown in FIG. 6B, thecomputing system can select and deploy additional vehicle(s) 105 (e.g.,designated autonomous vehicle(s)) to provide a leeway for the vehicle103 to safely execute the unprotected-left-turn maneuver. For example,the additional vehicle(s) 105 can occupy an opposing lane and a targetlane corresponding to the unprotected-left-turn maneuver, and slow downas the additional vehicle(s) 105 approach the location of theunprotected-left-turn maneuver, thereby creating an opening for thevehicle 103 to execute the unprotected-left-turn maneuver.

FIG. 7 depicts a diagram 700 that illustrates an example of deploying adesignated autonomous vehicle to assist an occluded autonomous vehicleto safely navigate past an occlusion point. As shown in FIG. 7, a motionplan of vehicle 103 (e.g., occluded autonomous vehicle) can include amaneuver instructing the autonomous vehicle to travel through occludedregion 709. A computing system (e.g., of the vehicle 103, of the remotecomputing system(s) 104, of the additional vehicle(s) 105) can determinethat the occluded region 709 is an occlusion point because precipitationin the occluded region 709 occludes the sensor(s) 108 on-board thevehicle 103. The computing system can select and deploy additionalvehicle 105 (e.g., designated autonomous vehicle) to observe theoccluded region 709 to assist vehicle 103 to safely navigate past theoccluded region 709. The additional vehicle 105 can be deployed topatrol the occluded region 709 and obtain data indicative of theoccluded region 709 (e.g., via one or more sensor(s) on-board additionalvehicle 105). The additional vehicle 105 can provide the data indicativeof occluded region 709 to the vehicle 103. The vehicle 103 can obtainthe data indicative of the occluded region 709 from the additionalvehicle 105 (e.g., directly, indirectly), and determines that theoccluded region 709 includes object(s) 711. The vehicle 103 adjusts itsmotion plan to avoid a collision with object(s) 711, and safely navigatepast occluded region 709. For example, the vehicle 103 can slow down asthe vehicle 103 approaches the object(s) 711.

FIG. 8 depicts a flow diagram of an example method 800 of deploying adesignated autonomous vehicle to assist an occluded autonomous vehicleto safely navigate past an occlusion point, according to exampleembodiments of the present disclosure. One or more portion(s) of themethod 800 can be implemented as operations by one or more computingsystem(s) such as, for example, the computing system(s) 102, 200, 901shown in FIGS. 1, 2, and 9. Moreover, one or more portion(s) of themethod 800 can be implemented as an algorithm on the hardware componentsof the system(s) described herein (e.g., as in FIGS. 1, 2, and 9) to,for example, deploy a designated autonomous vehicle to assist anoccluded autonomous vehicle to safely navigate past an occlusion point.FIG. 8 depicts elements performed in a particular order for purposes ofillustration and discussion. Those of ordinary skill in the art, usingthe disclosures provided herein, will understand that the elements ofany of the methods (e.g., of FIG. 8) discussed herein can be adapted,rearranged, expanded, omitted, combined, and/or modified in various wayswithout deviating from the scope of the present disclosure.

At (801), the method 800 can include obtaining vehicle route data of afirst autonomous vehicle. For example, a computing system (e.g., vehiclecomputing system 102 associated with vehicle 103, remote computingsystem(s) 104, and/or a vehicle computing system associated with one ofvehicle(s) 105) can obtain data representing a vehicle route of thefirst autonomous vehicle (e.g., vehicle 103). The first autonomousvehicle can travel along the vehicle route from a first location to asecond location.

At (802), the method 800 can include obtaining occlusion point data ofthe first autonomous vehicle. For example, the computing system103/104/105 can obtain data representing an occlusion point that affectsan operation of the vehicle 103 along the vehicle route. In someimplementations, the occlusion point can include one or more geographiclocations along the vehicle route where the vehicle 103 is occluded byone or more objects in a surrounding environment of the vehicle 103. Insome implementations, the data representing the occlusion point isdetermined based on (at least in part) (i) sensor data acquired by oneor more sensors on-board the vehicle 103 or (ii) sensor data acquired byone or more sensors on-board a second autonomous vehicle (e.g.,additional vehicle(s) 105) or (iii) sensor data acquired by one or moresensors on-board another autonomous vehicle (e.g., additional vehicle(s)105). In some implementations, obtaining the data representing theocclusion point can include obtaining data representing the occlusionpoint identified by the additional vehicle(s) 105. In someimplementations, obtaining the data representing the occlusion point caninclude obtaining data indicative of the occlusion point from a memory(e.g., memory system 116) accessible to the computing system103/104/105.

At (803), the method 800 can include determining one or more occlusionpoint(s) corresponding to the first autonomous vehicle. For example, thecomputing system 103/104/105 can obtain data representing a motion planof the vehicle 103. The motion plan can include one or more maneuversthat, when executed, cause the vehicle 103 to travel along the vehicleroute. The computing system 103/104/105 can determine an occludedmaneuver, among the one or more maneuvers in the motion plan of thevehicle 103, that is occluded by one or more objects in a surroundingenvironment of the vehicle 103 along the vehicle route. The computingsystem 103/104/105 can then determine a geographic locationcorresponding to the occluded maneuver. In some implementations, theocclusion point(s) are predetermined. For example, the computing system103/104/105 can store each determined occlusion point as occlusionpoint(s) 263 in the memory system 116.

At (804), the method 800 can include selecting a second autonomousvehicle to assist the first autonomous vehicle. For example, the otherAV data 267 can indicate a position of the additional vehicle(s) 105,and the computing system 103/104/105 can select a second autonomousvehicle (e.g., vehicle 105) from among one or more second autonomousvehicles (e.g., additional vehicle(s) 105) located within apredetermined distance from the occlusion point. In someimplementations, the computing system 103/104/105 can select the vehicle105 based at least in part on (i) the vehicle route and (ii) theocclusion point. In some implementations, the computing system103/104/105 can select the vehicle 105 based at least in part byprioritizing one or more of an unoccupied autonomous vehicle, a vehicletype different from a vehicle type of the first autonomous vehicle, or atime-to-deploy of the vehicle 105 from the one or more additionalvehicle(s) 105 located within the predetermined distance from theocclusion point. For example, the other AV data 267 can indicate whetherone or more of the additional vehicle(s) 105 is occupied or unoccupied.The computing system 103/104/105 can prioritize selecting a designatedautonomous vehicle from the additional vehicle(s) 105 that isunoccupied. As another example, the other AV data 267 can include avehicle type for one or more of the additional vehicle(s) 105. If avehicle type of the vehicle 103 is a ground-based vehicle, the computingsystem 103/104/105 can prioritize selecting a designated autonomousvehicle from the additional vehicle(s) 105 that is an air-based vehicle.As yet another example, the other AV data 267 can include atime-to-deploy for one or more of the additional vehicle(s) 105. Thecomputing system 103/104/105 can prioritize selecting a designatedautonomous vehicle from the additional vehicle(s) 105 that has ashortest time-to-deploy.

At (805), the method 800 can include deploying the second autonomousvehicle. For example, the computing system 103/104/105 can deploy thevehicle 105 to assist the vehicle 103 to travel along the vehicle route.In some implementations, the computing system 103/104/105 can deploy thevehicle 105 to determine one or more objects in the surroundingenvironment. In some implementations, deploying the vehicle 105 caninclude providing a communication to cause the vehicle 105 to travel toa vicinity of the occlusion point. The vehicle 105 can travel to thevicinity of the occlusion point in response to receiving thecommunication. The computing system 103/104/105 can control the vehicle105 to assist the vehicle 103 with respect to the occlusion point. Insome implementations, controlling the vehicle 105 to assist the vehicle103 can include controlling the vehicle 105 to obtain data indicative ofan occluded region at the occlusion point, the occluded region beingoccluded to the vehicle 103 at the occlusion point but not beingoccluded to the vehicle 105. In some implementations, controlling thevehicle 105 to assist the vehicle 103 can include controlling thevehicle 105 to provide a leeway for the vehicle 103 at the occlusionpoint. In some implementations, controlling the vehicle 105 to assistthe vehicle 103 can include providing a communication to cause thevehicle 105 to travel to a vicinity of the occlusion point. Thecommunication can be provided to a remote computing system 104 thatprovides a second communication to the vehicle 105. The vehicle 105 cantravel to the vicinity of the occlusion point in response to receivingthe second communication. In some implementations, controlling thevehicle 105 to assist the vehicle 103 can include providing acommunication to request the vehicle 105 to assist the vehicle 103 withrespect to the occlusion point.

FIG. 9 depicts an example computing system 900 according to exampleembodiments of the present disclosure. The example system 900illustrated in FIG. 9 is provided as an example only. The components,systems, connections, and/or other aspects illustrated in FIG. 9 areoptional and are provided as examples of what is possible, but notrequired, to implement the present disclosure. The example system 900can include the vehicle computing system 102 of the vehicle 103 and, insome implementations, a remote computing system(s) 910 including one ormore remote computing system(s) that are remote from the vehicle 103(e.g., the operations computing system 104) that can be communicativelycoupled to one another over one or more networks 920. The remotecomputing system 910 can be associated with a central operations systemand/or an entity associated with the vehicle 103 such as, for example, avehicle owner, vehicle manager, fleet operator, service provider, etc.

The computing device(s) 901 of the vehicle computing system 102 caninclude processor(s) 902 and a memory 904. The one or more processors902 can be any suitable processing device (e.g., a processor core, amicroprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.)and can be one processor or a plurality of processors that areoperatively connected. The memory 904 can include one or morenon-transitory computer-readable storage media, such as RAM, ROM,EEPROM, EPROM, one or more memory devices, flash memory devices, etc.,and combinations thereof.

The memory 904 can store information that can be accessed by the one ormore processors 902. For instance, the memory 904 (e.g., one or morenon-transitory computer-readable storage mediums, memory devices)on-board the vehicle 103 can include computer-readable instructions 906that can be executed by the one or more processors 902. The instructions906 can be software written in any suitable programming language or canbe implemented in hardware. Additionally, or alternatively, theinstructions 906 can be executed in logically and/or virtually separatethreads on processor(s) 902.

For example, the memory 904 on-board the vehicle 103 can storeinstructions 906 that when executed by the one or more processors 902on-board the vehicle 103 cause the one or more processors 902 (thevehicle computing system 102) to perform operations such as any of theoperations and functions of the vehicle computing system 102, asdescribed herein, one or more operations of method 800, and/or any otheroperations and functions of the vehicle 103, as described herein.

The memory 904 can store data 908 that can be obtained, received,accessed, written, manipulated, created, and/or stored. The data 908 caninclude, for instance, data associated with perception, prediction,motion plan, maps, weather, traffic, occlusion point(s), and otherautonomous vehicle(s), and/or other data/information as describedherein. In some implementations, the computing device(s) 901 can obtaindata from one or more memory device(s) that are remote from the vehicle103.

The computing device(s) 901 can also include a communication interface909 used to communicate with one or more other system(s) on-board thevehicle 103 and/or a remote computing device that is remote from thevehicle 103 (e.g., of remote computing system 910). The communicationinterface 909 can include any circuits, components, software, etc. forcommunicating via one or more networks (e.g., 920). In someimplementations, the communication interface 909 can include, forexample, one or more of a communications controller, receiver,transceiver, transmitter, port, conductors, software, and/or hardwarefor communicating data.

The network(s) 920 can be any type of network or combination of networksthat allows for communication between devices. In some embodiments, thenetwork(s) can include one or more of a local area network, wide areanetwork, the Internet, secure network, cellular network, mesh network,peer-to-peer communication link, and/or some combination thereof, andcan include any number of wired or wireless links. Communication overthe network(s) 920 can be accomplished, for instance, via acommunication interface using any type of protocol, protection scheme,encoding, format, packaging, etc.

The remote computing system 910 can include one or more remote computingdevices that are remote from the vehicle computing system 102. Theremote computing devices can include components (e.g., processor(s),memory, instructions, data) similar to that described herein for thecomputing device(s) 901. Moreover, the remote computing system 910 canbe configured to perform one or more operations of the operationscomputing system 104, as described herein. Moreover, the computingsystems of other vehicles described herein can include componentssimilar to that of vehicle computing system 102.

Computing tasks discussed herein as being performed at computingdevice(s) remote from the vehicle can instead be performed at thevehicle (e.g., via the vehicle computing system), or vice versa. Suchconfigurations can be implemented without deviating from the scope ofthe present disclosure. The use of computer-based systems allows for agreat variety of possible configurations, combinations, and divisions oftasks and functionality between and among components.Computer-implemented operations can be performed on a single componentor across multiple components. Computer-implemented tasks and/oroperations can be performed sequentially or in parallel. Data andinstructions can be stored in a single memory device or across multiplememory devices.

While the present subject matter has been described in detail withrespect to specific example embodiments and methods thereof, it will beappreciated that those skilled in the art, upon attaining anunderstanding of the foregoing can readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

1.-20. (canceled)
 21. A computer-implemented method for controlling acomputer system with one or more sensors to assist an autonomousvehicle, the method comprising: obtaining, by a computing systemcomprising one or more computing devices, data representing a vehicleroute of an autonomous vehicle; obtaining, by the computing system, datarepresenting an identified occlusion point at a geographic location, theidentified occlusion point corresponding to one or more regions at thegeographic location where one or more sensors of the autonomous vehicleare unable to perceive a surrounding environment; accessing, by thecomputing system, a remote computing system storing additional computingsystem data that comprises information corresponding to characteristicsof a plurality of additional computing systems, each additionalcomputing system having one or more associated sensors, the additionalcomputing system data comprising at least a geographic location for eachadditional computing system; selecting, by the computing system andbased at least in part on the identified occlusion point and thegeographic location of the plurality of additional computing systems, aselected computing system from the plurality of additional computingsystem to assist the autonomous vehicle; transmitting, by the computingsystem, a communication to the selected computing system, wherein thecommunication causes the selected computing system to obtain dataindicative of the occlusion point; and receiving, by the computingsystem from the selected computing system, data indicative of theocclusion point.
 22. The computer-implemented method of claim 21,wherein the data representing the identified occlusion point isdetermined based on (i) sensor data acquired by one or more sensorson-board the autonomous vehicle or (ii) sensor data acquired by one ormore sensors associated with one or more additional computer systems.23. The computer-implemented method of claim 21, wherein obtaining thedata representing the identified occlusion point comprises: obtainingdata representing the identified occlusion point identified by the oneor more additional computer systems.
 24. The computer-implemented methodof claim 21, wherein obtaining the data representing the identifiedocclusion point comprises: obtaining, by the computing system, dataindicative of the identified occlusion point from a memory accessible bythe computing system, wherein the identified occlusion point is apredetermined occlusion point.
 25. The computer-implemented method ofclaim 21, wherein the identified occlusion point comprises one or moregeographic locations along the vehicle route where the autonomousvehicle is occluded by one or more objects in a surrounding environmentof the autonomous vehicle.
 26. The computer-implemented method of claim21, wherein causing the selected computing system to obtain dataindicative of the occlusion point; comprises: causing the selectedcomputing system to determine one or more objects in a surroundingenvironment of the selected computing system at the geographic location.27. The computer-implemented method of claim 21, further comprising:determining, by the computing system, one or more occlusion pointscorresponding to the autonomous vehicle, wherein the determiningcomprises: obtaining data representing a motion plan of the autonomousvehicle, the motion plan including one or more maneuvers that, whenexecuted, cause the autonomous vehicle to travel along the vehicleroute; determining an occluded maneuver, among the one or more maneuversin the motion plan of the autonomous vehicle, that is occluded by one ormore objects in a surrounding environment of the autonomous vehiclealong the vehicle route; and determining a geographic locationcorresponding to the occluded maneuver.
 28. The computer-implementedmethod of claim 21, wherein: selecting the selected computing system toassist the autonomous vehicle comprises selecting the selected computingsystem, from among one or more additional computing system locatedwithin a predetermined distance from the identified occlusion point; andcausing the selected computing system to obtain data indicative of theocclusion point comprises controlling the selected computing system toassist the autonomous vehicle with respect to the identified occlusionpoint.
 29. The computer-implemented method of claim 28, wherein thecomputing system is further selected based at least in part byprioritizing an unoccupied computing system.
 30. Thecomputer-implemented method of claim 28, wherein controlling theselected computing system to assist the autonomous vehicle with respectto the identified occlusion point comprises: controlling the selectedcomputing system to obtain data indicative of an occluded region of anenvironment at the identified occlusion point, the occluded region beingoccluded to the autonomous vehicle at the identified occlusion point butnot being occluded to the selected computing system; and controlling theselected computing system to provide the data indicative of the occludedregion to the autonomous vehicle.
 31. The computer-implemented method ofclaim 28, wherein controlling the selected computing system to assistthe autonomous vehicle with respect to the identified occlusion pointcomprises: controlling the selecting computing system to provide aleeway for the autonomous vehicle at the identified occlusion point. 32.The computer-implemented method of claim 21, wherein causing theselected computing system to obtain data indicative of the occlusionpoint comprises: providing a communication to cause the selectedcomputing system to begin obtaining sensor data of the identifiedocclusion point, wherein the communication is provided to a remotecomputing system that provides a second communication to the selectedcomputing system, and the selected computing system begins obtainingsensor data of the identified occlusion point in response to receivingthe second communication.
 33. The computer-implemented method of claim21, wherein causing the selected computing system to obtain dataindicative of the occlusion point comprises: providing a communicationto request the selected computing system to assist the autonomousvehicle with respect to the identified occlusion point.
 34. A computingsystem for autonomous vehicle assistance, the system comprising: one ormore processors; and one or more tangible, non-transitory, computerreadable media that collectively store instructions that when executedby the one or more processors cause the computing system to performoperations, the operations comprising: obtaining data representing avehicle route of an autonomous vehicle; obtaining data representing anidentified occlusion point at a geographic location, the identifiedocclusion point corresponding to one or more regions at the geographiclocation where one or more sensors of the autonomous vehicle are unableto perceive a surrounding environment; accessing a remote computingsystem storing additional computing system data that comprisesinformation corresponding to characteristics of a plurality ofadditional computing systems, each additional computing system havingone or more associated sensors, the additional computing system datacomprising at least a geographic location for each additional computingsystem; selecting, based at least in part on the identified occlusionpoint and the geographic location of the plurality of additionalcomputing systems, a selected computing system from the plurality ofadditional computing system to assist the autonomous vehicle;transmitting a communication to the selected computing system, whereinthe communication causes the selected computing system to obtain dataindicative of the occlusion point; and receiving, from the selectedcomputing system, data indicative of the occlusion point.
 35. Thecomputing system of claim 34, wherein: selecting the computing system toassist the autonomous vehicle comprises selecting the selectingcomputing system, from among one or more additional computing systemslocated within a predetermined distance from the identified occlusionpoint; and causing the selected computing system to obtain dataindicative of the occlusion point comprises controlling the selectedcomputing system to assist the autonomous vehicle with respect to theidentified occlusion point.
 36. The computing system of claim 35,wherein controlling the selected computing system to assist theautonomous vehicle comprises: controlling the selected computing systemto obtain data indicative of an occluded region at the identifiedocclusion point, the occluded region being occluded to the autonomousvehicle at the identified occlusion point but not being occluded to theselected computing system.
 37. The computing system of claim 35, whereincontrolling the selected computing system to assist the autonomousvehicle comprises: controlling the selected computing system to providea leeway for the autonomous vehicle at the identified occlusion point.38. An autonomous vehicle, comprising: one or more processors; and oneor more tangible, non-transitory, computer readable media thatcollectively store instructions that when executed by the one or moreprocessors cause the autonomous vehicle to perform operations, theoperations comprising: obtaining data representing a vehicle route of anautonomous vehicle; obtaining data representing an identified occlusionpoint at a geographic location, the identified occlusion pointcorresponding to one or more regions at the geographic location whereone or more sensors of the autonomous vehicle are unable to perceive asurrounding environment; accessing a remote computing system storingadditional computing system data that comprises informationcorresponding to characteristics of a plurality of additional computingsystems, each additional computing system having one or more associatedsensors, the additional computing system data comprising at least ageographic location for each additional computing system; selecting,based at least in part on the identified occlusion point and thegeographic location of the plurality of additional computing systems, aselected computing system from the plurality of additional computingsystem to assist the autonomous vehicle; transmitting a communication tothe selected additional computing system, wherein the communicationcauses the selected computing system to obtain data indicative of theocclusion point; and receiving, from the additional system, dataindicative of the occlusion point.
 39. The autonomous vehicle of claim38, further comprising: determining one or more occlusion pointscorresponding to the autonomous vehicle, wherein the determiningcomprises: obtaining data representing a motion plan of the autonomousvehicle, the motion plan including one or more maneuvers that, whenexecuted, cause the autonomous vehicle to travel along the vehicleroute; determining a maneuver, among the one or more maneuvers in themotion plan of the autonomous vehicle, that is occluded by one or moreobjects in a surrounding environment of the autonomous vehicle along thevehicle route; and determining a geographic location corresponding tothe occluded maneuver.
 40. The autonomous vehicle of claim 38, whereincausing the selected computing system to obtain data indicative of theocclusion point comprises: providing a communication to request theselected computing system to assist the autonomous vehicle with respectto the identified occlusion point.